home *** CD-ROM | disk | FTP | other *** search
- Network Working Group Mike StJohns
- Request for Comments: 931 TPSC
- Supersedes: RFC 912 January 1985
-
- Authentication Server
-
-
- STATUS OF THIS MEMO
-
- This RFC suggests a proposed protocol for the ARPA-Internet
- community, and requests discussion and suggestions for improvements.
- This is the second draft of this proposal (superseding RFC 912) and
- incorporates a more formal description of the syntax for the request
- and response dialog, as well as a change to specify the type of user
- identification returned. Distribution of this memo is unlimited.
-
- INTRODUCTION
-
- The Authentication Server Protocol provides a means to determine the
- identity of a user of a particular TCP connection. Given a TCP port
- number pair, it returns a character string which identifies the owner
- of that connection on the server's system. Suggested uses include
- automatic identification and verification of a user during an FTP
- session, additional verification of a TAC dial up user, and access
- verification for a generalized network file server.
-
- OVERVIEW
-
- This is a connection based application on TCP. A server listens for
- TCP connections on TCP port 113 (decimal). Once a connection is
- established, the server reads one line of data which specifies the
- connection of interest. If it exists, the system dependent user
- identifier of the connection of interest is sent out the connection.
- The service closes the connection after sending the user identifier.
-
- RESTRICTIONS
-
- Queries are permitted only for fully specified connections. The
- local/foreign host pair used to fully specify the connection are
- taken from the query connection. This means a user on Host A may
- only query the server on Host B about connections between A and B.
-
-
-
-
-
-
-
-
-
-
-
-
- StJohns [Page 1]
-
-
- RFC 931 January 1985
- Authentication Server
-
-
- QUERY/RESPONSE FORMAT
-
- The server accepts simple text query requests of the form
-
- <local-port>, <foreign-port>
-
- where <local-port> is the TCP port (decimal) on the target (server)
- system, and <foreign-port> is the TCP port (decimal) on the source
- (user) system.
-
- For example:
-
- 23, 6191
-
- The response is of the form
-
- <local-port>, <foreign-port> : <response-type> : <additional-info>
-
- where <local-port>,<foreign-port> are the same pair as the query,
- <response-type> is a keyword identifying the type of response, and
- <additional info> is context dependent.
-
- For example:
-
- 23, 6191 : USERID : MULTICS : StJohns.DODCSC.a
- 23, 6193 : USERID : TAC : MCSJ-MITMUL
- 23, 6195 : ERROR : NO-USER
-
- RESPONSE TYPES
-
- A response can be one of two types:
-
- USERID
-
- In this case, <additional-info> is a string consisting of an
- operating system name, followed by a ":", followed by user
- identification string in a format peculiar to the operating system
- indicated. Permitted operating system names are specified in
- RFC-923, "Assigned Numbers" or its successors. The only other
- names permitted are "TAC" to specify a BBN Terminal Access
- Controller, and "OTHER" to specify any other operating system not
- yet registered with the NIC.
-
-
-
-
-
-
-
- StJohns [Page 2]
-
-
- RFC 931 January 1985
- Authentication Server
-
-
- ERROR
-
- For some reason the owner of <TCP-port> could not be determined,
- <additional-info> tells why. The following are suggested values
- of <additional-info> and their meanings.
-
- INVALID-PORT
-
- Either the local or foreign port was improperly specified.
-
- NO-USER
-
- The connection specified by the port pair is not currently in
- use.
-
- UNKNOWN-ERROR
-
- Can't determine connection owner; reason unknown. Other values
- may be specified as necessary.
-
- CAVEATS
-
- Unfortunately, the trustworthiness of the various host systems that
- might implement an authentication server will vary quite a bit. It
- is up to the various applications that will use the server to
- determine the amount of trust they will place in the returned
- information. It may be appropriate in some cases restrict the use of
- the server to within a locally controlled subnet.
-
- APPLICATIONS
-
- 1) Automatic user authentication for FTP
-
- A user-FTP may send a USER command with no argument to the
- server-FTP to request automatic authentication. The server-FTP
- will reply with a 230 (user logged in) if it can use the
- authentication. It will reply with a 530 (not logged in) if it
- cannot authenticate the user. It will reply with a 500 or 501
- (syntax or parameter problem) if it does not implement automatic
- authentication. Please note that no change is needed to currently
- implemented servers to handle the request for authentication; they
- will reject it normally as a parameter problem. This is a
- suggested implementation for experimental use only.
-
- 2) Verification for privileged network operations. For example,
- having the server start or stop special purpose servers.
-
-
-
- StJohns [Page 3]
-
-
- RFC 931 January 1985
- Authentication Server
-
-
- 3) Elimination of "double login" for TAC and other TELNET users.
-
- This will be implemented as a TELNET option.
-
- FORMAL SYNTAX
-
- <request> ::= <port-pair> <CR> <LF>
-
- <port-pair> ::= <integer-number> "," <integer-number>
-
- <reply> ::= <reply-text> <CR> <LF>
-
- <reply-text> ::= <error-reply> | <auth-reply>
-
- <error-reply> ::= <port-pair> ":" ERROR ":" <error-type>
-
- <auth-reply> ::= <port-pair> ":" USERID ":" <opsys> ":" <user-id>
-
- <error-type> ::= INVALID-PORT | NO-USER | UNKNOWN-ERROR
-
- <opsys> ::= TAC | OTHER | MULTICS | UNIX ...etc.
- (See "Assigned Numbers")
-
- Notes on Syntax:
-
- 1) White space (blanks and tab characters) between tokens is not
- important and may be ignored.
-
- 2) White space, the token separator character (":"), and the port
- pair separator character (",") must be quoted if used within a
- token. The quote character is a back-slash, ASCII 92 (decimal)
- ("\"). For example, a quoted colon is "\:". The back-slash must
- also be quoted if its needed to represent itself ("\\").
-
- Notes on User Identification Format:
-
- The user identifier returned by the server should be the standard one
- for the system. For example, the standard Multics identifier
- consists of a PERSONID followed by a ".", followed by a PROJECTID,
- followed by a ".", followed by an INSTANCE TAG of one character. An
- instance tag of "a" identifies an interactive user, and instance tag
- of "m" identifies an absentee job (batch job) user, and an instance
- tag of "z" identifies a daemon (background) user.
-
- Each set of operating system users must come to a consensus as to
-
-
-
-
- StJohns [Page 4]
-
-
- RFC 931 January 1985
- Authentication Server
-
-
- what the OFFICIAL user identification for their systems will be.
- Until they register this information, they must use the "OTHER" tag
- to specify their user identification.
-
- Notes on User Identification Translation:
-
- Once you have a user identifier from a remote system, you must then
- have a way of translating it into an identifier that meaningful on
- the local system. The following is a sketchy outline of table driven
- scheme for doing this.
-
- The table consists of four columns, the first three are used to match
- against, the fourth is the result.
-
- USERID Opsys Address Result
- MCSJ-MITMUL TAC 26.*.*.* StJohns
- * MULTICS 192.5.42.* =
- * OTHER 10.0.0.42 anonymous
- MSJ ITS 10.3.0.44 StJohns
-
- The above table is a sample one for a Multics system on MILNET at the
- Pentagon. When an authentication is returned, the particular
- application using the userid simply looks for the first match in the
- table. Notice the second line. It says that any authentication
- coming from a Multics system on Net 192.5.42 is accepted in the same
- format.
-
- Obviously, various users will have to be registered to use this
- facility, but the registration can be done at the same time the use
- receives his login identity from the system.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- StJohns [Page 5]